package cn.itsource.feignclients;

import cn.itsource.User;
import cn.itsource.fillback.UserFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
/*@FeignClient 此注解表示该接口是feign的客户端接口 value = "user-server"  value属性就是要调用目标属性的服务名"spring.application.name"
    feign通过目标服务的服务名 就可以在注册中心找到要调用的目标服务,根据方法上的URL就能找到目标服务的controller
    http://user-server/user/20
    fallback :属性指向托底类的字节码 ， 该拖地类，要求实现该接口
* */
@FeignClient(value = "user-server",fallback = UserFeignClientFallback.class)
public interface UserFeignClient {
    /*这里就是要调用的服务中的controller方法*/
    @GetMapping(value = "/user/{id}")
    User getuser(@PathVariable("id") Integer id);
}
